vergen
Version
NOTE: Version 2.x.x is compatible with Version 1.x.x, but introduces a completely new way to use the
constants without having to use the include!
macro.
NOTE: Version 1.x.x is a breaking change from the 0.1.0 series. This crate no longer generates functions to display the build time information, but rather generates constants. See below for more detail.
Basic Usage
vergen
, when used in conjunction with the Build Scripts support in
cargo, can either
- Generate environment variables to use with the
env!
macro. See the documentation forVergenKey
for the environment variables names. - Generate a file in
OUT_DIR
(defined by cargo) with up to 8 build time constants. This file can then be used with theinclude!
macro to pull the constants into your source for use.
Example Cargo.toml
[]
#..
= "build.rs"
[]
#..
[]
= "2"
Example build.rs
(Version 2.x.x)
extern crate vergen;
use ;
Use constants in your code
Example build.rs
(Version 1.x.x)
extern crate vergen;
use ;
Example version.rs
(Version 1.x.x only)
/// Compile Time (UTC)
pub const VERGEN_BUILD_TIMESTAMP: &str = "2018-08-09T15:15:57.282334589+00:00";
/// Compile Time - Short (UTC)
pub const VERGEN_BUILD_DATE: &str = "2018-08-09";
/// Commit SHA
pub const VERGEN_SHA: &str = "75b390dc6c05a6a4aa2791cc7b3934591803bc22";
/// Commit SHA - Short
pub const VERGEN_SHA_SHORT: &str = "75b390d";
/// Commit Date
pub const VERGEN_COMMIT_DATE: &str = "'2018-08-08'";
/// Target Triple
pub const VERGEN_TARGET_TRIPLE: &str = "x86_64-unknown-linux-gnu";
/// Semver
pub const VERGEN_SEMVER: &str = "v0.1.0-pre.0";
/// Semver (Lightweight)
pub const VERGEN_SEMVER_LIGHTWEIGHT: &str = "v0.1.0-pre.0";
Include the constants in your code (Version 1.x.x only)
include!;
format!
License
Licensed under either of
- Apache License, Version 2.0 (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT) at your option.
Contribution
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.